JavaScript 早期由 Netscape 的 Brendan Eich 開發,由 ECMA International 組織訂定了語法標準。
什麼是 ECMAScript?
ECMAScript 是一種腳本語言規範,它決定了 JavaScript 的工作方式以及它應該具有哪些新功能。功能通常每年都會增量發布,以確保 JavaScript 程式語言的順利更新。
ES6(2015)對於 JavaScript 來說是最重要的一年,似乎比較重大的決議都在這份資料中。
個人本機開發使用的編輯器主要是 Visual Studio Code ,因為他可以提供自動補全和下拉提示;在公司主要使用 phpstorm,他的功能也很強大,缺點是超過試用期 30 天就要開始繳費,評估後決定還是用 Visual Studio Code 開發。
工作區設置
新增一個資料夾 -> 拖曳到 Visual Studio Code 中 -> 建立 index.html(檔案中按下 ! + Tab
) -> 建立放 js 檔案的資料夾並新增一個 all.js 的檔案 -> 在 index.html 的 <body>
最後面引入 js 檔案。
建議安裝的延伸模組
JavaScript interpreter(編譯器)
檔案從上往下解析,當讀到 .js 檔案會透過 JavaScript 引擎做編譯,編譯完就會在畫面顯示出效果,以下是詳細介紹。
JavaScript 是單線程(single threaded runtime)的程式語言,所有的程式碼片段都會在堆疊(stack)中被執行,而且一次只會執行一個程式碼片段(one thing at a time),簡單來說: JavaScript 是 同步語言
,一次只能做一件事情無法分心。
以下是 JavaScript 是執行流程步驟,也可以把他想像成一間飲料店接單到成交的流程:
步驟一:
讀取代碼 → 瀏覽器或 JavaScript 引擎會將代碼讀入內存中 → 客人點餐要一杯無糖綠去冰
步驟二:
剖析代碼 → JavaScript 引擎將代碼轉換為語法樹(Syntax Tree),以便於理解代碼的結構 → 員工打單,確認就是店內的產品茉香綠茶要無糖去冰
步驟三:
執行代碼 → JavaScript 引擎根據剖析得到的語法樹進行代碼的執行 → shake 杯裝滿冰塊加入煮好的茉香綠茶,然後搖一搖,過濾冰塊裝杯封膜
步驟四:
回收不再使用的記憶體 → JavaScript 具有自動記憶體管理機制,當物件不再被使用時會回收其所佔用的記憶體空間 → 出餐,取回取餐單並且把器具清洗歸位
圖片來源:Javascript Nasıl Çalışır? Javascript Runtime ve V8 Motoru | by Harun Keles0glu | Medium
如果文字不好懂,不妨玩一下這個小程序可以快速理解編譯器
https://latentflip.com/loupe